package bo

type ProjectBO struct {
	IndustryParentId  []int64       `json:"industryParentId"`  // 所属行业一级Id
	IndustryId        []int64       `json:"industryId"`        // 所属行业二级ID
	ProvinceId        int64         `json:"provinceId"`        // 企业所在省份ID
	CityId            int64         `json:"cityId"`            // 企业所在城市ID
	DistrictId        int64         `json:"districtId"`        // 企业所在区ID
	ResourceRaise     []int32       `json:"resourceRaise"`     // 项目评级 3-3星 4-4星 5-5星
	RoofAreaRange     []int32       `json:"roofAreaRange"`     // 面积范围 1:(3000~10000) 2:(10000~20000) 3:(20000~+∞)
	ProjectRoofType   []int32       `json:"projectRoofType"`   // 屋顶类型 1-彩钢瓦, 2-水泥屋面, 3-混合 【项目屋顶类型】
	CompanyType       []int32       `json:"companyType"`       //公司类型 -1 国企, 2-外企, 3-其他
	PersonnelSizeType []int32       `json:"personnelSizeType"` // 人员规模 1- 0-499人, 2- 500-999人, 3- 1000人以上
	InstalledPV       int32         `json:"installedPV"`       // 是否安装光伏  1-未安装 2-安装
	PageNum           int32         `json:"pageNum"`           // 当前页数
	PageSize          int32         `json:"pageSize"`          // 每页展示条数
	Keyword           string        `json:"keyword"`           // 搜索关键字
	Orders            []SearchOrder `json:"orders"`            // 排序字段
}

type SearchOrder struct {
	FieldName string `json:"fieldName"` // 排序字段名称
	Order     int32  `json:"order"`     // 排序规则 -1 ASC -2 DESC
}

type PageProjectBO[T comparable] struct {
	PageSize  int  `json:"pageSize"`
	PageNum   int  `json:"pageNum"`
	TotalPage int  `json:"totalPage"`
	Records   []*T `json:"records"`
}
